Chapter 5 – User Acceptance Testing
Finally, the house is ready! All your hard work has paid off and it is time to enjoy the stay. Hold on! Have you checked if the water supply is actually working or if the electricity actually coming? What if, you shift to the new house and you realize that after doing all the work there are aspects which are not correct! Hence, it is recommended that once the construction and all internal aspects like electricity and water supply is done, you should check the same once, before taking the final call.
The UAT phase of a project is often one of the most crucial – it is this that will determine whether your application is able to go live (or just how many ‘bugs/ configuration misses’ need to be addressed before this can happen). As a project manager, it is in your interest to ensure that this phase runs as smoothly as possible, providing a clear plan for all concerned. Often this will include the following stages:
1. Providing a UAT plan and designing the tests, in conjunction with your in-house test team. Below template can be used to share the test cases.
2. Selecting user groups to carry out the UAT phase. These may include people within the company, or other anonymous users. Varying abilities and experience with your particular application type can often enhance the test process – ensuring that you have taken account for all user types. It is useful to profile these users and treat their test results accordingly.
3. Ensure that all user groups are able to carry out their test in a controlled manner.
4. Collating the test results – this will require a uniform method of reporting from your testers and a sensible method of bringing this data together to enable review.
One of the best ways to collate the UAT/ Testing observations is to have a tracker maintained which can be shared across with the functional consultant to track the observations.
5. Planning the approach to bug fixes. Make sure you have the resources available to fix any issues that have been found, and a means for confirming the problems that have been fixed.
6. You will then be ready for the sign-off process.
UAT is vital for the successful deployment of any application. Failure to do proper user acceptance testing can result in turning a business’s customers into user acceptance testers.
While delivering the UAT instance for Alt HRMS to the customer, the implementation team should ensure that there is adequate testing done to validate the requirements as shared by the customer in the standard templates (Shared in Chapter 2). In order to do the same, the implementation team should ensure that the below points are taken into consideration.
1. Adherence to the feature list as per the contract
2. Validation of Do’s and Don’ts list and dependency list as mentioned above in the play book
3. Adherence of the configuration as per the standard configuration documents
4. Maker checker approach (Checker should be different than the person who did the configuration) before delivering the UAT to the customer
5. Internal testing to be done by the Functional consultant before sharing the UAT with the customer
The Functional consultant plays a very important role in performing the UAT. There are different sets of activities which he/ she is required to perform across different stages of UAT.
1. Ensure that the UAT plan is in place. Sample plan shared below.
2. Tracking issues reported during UAT. Sample template shared below
3. Share on a daily basis, the progress done on the UAT
4. Seeking UAT sign off from the customer
Failure to do proper user acceptance testing can also result in legal risk, missed deadlines, wasted resources and added cost. This is why the major purpose of UAT is to determine how the software will interface within a given company before that application is actually implemented. Properly done, user acceptance testing protects the organization from a whole host of potential problems.
User acceptance testing is also important because failure to do it places an unnecessary burden on system developers who, while they may be experts in development, are not familiar with the vagaries of running an organization or the day to day difficulties that the software they are developing must account for.
UAT is concerned with both software performance and human behavior. It ensures that the software interfaces with human behavior and thought processes in a realistic manner. This increases both employee and client satisfaction. Quality software builds confidence in the company that uses it, while it makes running the organization easier. Smooth client interaction attracts more customers and the company’s reputation rises. The customers get better service and the company gets more customers. Ultimately, everyone wins.